package cn.org.donald.sensitive.model;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @author Donald
 * @since 2023-11-10 14:51:27
 **/
public class FindStringRegex {

    public static final String MOBILE_PHONE = "(\\+\\d{1,3}[- ]?)?1[3,4,5,6,7,8,9]\\d{1}[- ]?\\d{4}[- ]?\\d{4}";

    public static final String IDENTIFY_CARD = "([1-9]\\d{5}(18|19|20)\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx])|([1-9]\\d{5}\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3})";

    public static void main(String[] args) {
        String s = "【1】2023-10-16 15:17:28,病毒防护,病毒查杀,自定义扫描, 发现 0 个风险项目 \n" +
                " \n" +
                "病毒库时间：2023-10-15 16:28 \n" +
                "开始时间：2023-10-16 15:17 \n" +
                "总计用时：00:00:01 \n" +
                "扫描对象：1 \n" +
                "扫描文件：1 \n" +
                "发现风险：0 \n" +
                "已处理风险：0 \n" +
                "我的身份证号：452122199701065115 \n" +
                ">>>>>>>>>>>>>>>>>>>>>>>>>>>18938720142 ， 18977799124 ，\n" +
                "+8618938720142，>>>>>>>>>>>>>>>>>>>>>+86 18938720142，+86-18938720142，\n" +
                "189 3872 0142，189-3872-0142>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> \n";
//        String s = "452122199701065115";
        Pattern compile = Pattern.compile(IDENTIFY_CARD);
        Matcher matcher = compile.matcher(s);
        while (matcher.find()) {
            System.out.println(matcher.group());
        }
    }
}
